home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 092 - EBU.dsk / EXPERIMENTAL / NEWBC.bas < prev    next >
BASIC Source File  |  2019-02-17  |  22KB  |  384 lines

  1. 0  REM         To Disable lock out feature delete line # 1                 My backdoor was to select 1) from menu then enter                   "A.1 Code" Exactly like that.......Eddy!<CTRL-J>(See line 205)
  2. 1  POKE 1010,102: POKE 1011,213: POKE 1012,112
  3. 2  ONERR  GOTO 9000
  4. 3  GOSUB 8000
  5. 5  GOSUB 5000
  6. 10  CLEAR : REM        Start Main Body<CTRL-J>
  7. 20  HOME : PRINT "THE BASE CONVERTER (C) 1985": PRINT "A.1 SOFTWARE INC.": PRINT : PRINT "WHICH CONVERSION WILL WE BE MAKING?": PRINT : PRINT "////////////////////////////////////////"
  8. 50  PRINT : PRINT "1) HEXIDECIMAL TO DECIMAL": PRINT : PRINT "2) DECIMAL TO HEXIDECIMAL": PRINT : PRINT "3) BINARY TO DECIMAL"
  9. 60  PRINT : PRINT "4) DECIMAL TO BINARY": PRINT : PRINT "5) HEXIDECIMAL TO BINARY": PRINT : PRINT "6) BINARY TO HEXIDECIMAL": PRINT : PRINT "7) QUIT"
  10. 80  PRINT "                          #8 FOR HELP";: PRINT 
  11. 100  VTAB 23: PRINT "SELECT NUMBER             #9 FOR TUTOR";: PRINT "";
  12. 110  GET L%
  13. 120  IF L% <1  OR L% >9  THEN 110
  14. 150  ON L% GOTO 200,400,600,800,1000,1200,1400,5000,8100
  15. 200 J$ = "HEXI,IN DECIMAL IS":S$ = "000000A1":O$ = "HEXI":P$ = "DECIMAL": GOSUB 10000
  16. 205  IF ST$ = "A.1 Code"  THEN 7000
  17. 209  IF  LEN(ST$) >8  THEN 3100
  18. 210 X7$ =  MID$ (ST$,1,1)
  19. 212  IF X7$ = "A"  THEN X7 = 10: GOTO 230
  20. 214  IF X7$ = "B"  THEN X7 = 11: GOTO 230
  21. 216  IF X7$ = "C"  THEN X7 = 12: GOTO 230
  22. 218  IF X7$ = "D"  THEN X7 = 13: GOTO 230
  23. 220  IF X7$ = "E"  THEN X7 = 14: GOTO 230
  24. 222  IF X7$ = "F"  THEN X7 = 15: GOTO 230
  25. 225  IF X7$ < >"0"  AND X7$ < >"1"  AND X7$ < >"2"  AND X7$ < >"3"  AND X7$ < >"4"  AND X7$ < >"5"  AND X7$ < >"6"  AND X7$ < >"7"  AND X7$ < >"8"  AND X7$ < >"9"  THEN 3000
  26. 227 X7 =  VAL(X7$)
  27. 230 Y7 = X7 *16 ^7:X6$ =  MID$ (ST$,2,1)
  28. 238  IF X6$ = "A"  THEN X6 = 10: GOTO 260
  29. 240  IF X6$ = "B"  THEN X6 = 11: GOTO 260
  30. 242  IF X6$ = "C"  THEN X6 = 12: GOTO 260
  31. 244  IF X6$ = "D"  THEN X6 = 13: GOTO 260
  32. 246  IF X6$ = "E"  THEN X6 = 14: GOTO 260
  33. 248  IF X6$ = "F"  THEN X6 = 15: GOTO 260
  34. 250  IF X6$ < >"0"  AND X6$ < >"1"  AND X6$ < >"2"  AND X6$ < >"3"  AND X6$ < >"4"  AND X6$ < >"5"  AND X6$ < >"6"  AND X6$ < >"7"  AND X6$ < >"8"  AND X6$ < >"9"  THEN 3000
  35. 252 X6 =  VAL(X6$)
  36. 260 Y6 = X6 *16 ^6:X5$ =  MID$ (ST$,3,1)
  37. 266  IF X5$ = "A"  THEN X5 = 10: GOTO 282
  38. 268  IF X5$ = "B"  THEN X5 = 11: GOTO 282
  39. 270  IF X5$ = "C"  THEN X5 = 12: GOTO 282
  40. 272  IF X5$ = "D"  THEN X5 = 13: GOTO 282
  41. 274  IF X5$ = "E"  THEN X5 = 14: GOTO 282
  42. 276  IF X5$ = "F"  THEN X5 = 15: GOTO 282
  43. 278  IF X5$ < >"0"  AND X5$ < >"1"  AND X5$ < >"2"  AND X5$ < >"3"  AND X5$ < >"4"  AND X5$ < >"5"  AND X5$ < >"6 "  AND X5$ < >"7"  AND X5$ < >"8"  AND X5$ < >"9"  THEN 3000
  44. 280 X5 =  VAL(X5$)
  45. 282 Y5 = X5 *16 ^5:X4$ =  MID$ (ST$,4,1)
  46. 288  IF X4$ = "A"  THEN X4 = 10: GOTO 304
  47. 290  IF X4$ = "B"  THEN X4 = 11: GOTO 304
  48. 292  IF X4$ = "C"  THEN X4 = 12: GOTO 304
  49. 294  IF X4$ = "D"  THEN X4 = 13: GOTO 304
  50. 296  IF X4$ = "E"  THEN X4 = 14: GOTO 304
  51. 298  IF X4$ = "F"  THEN X4 = 15: GOTO 304
  52. 300  IF X4$ < >"0"  AND X4$ < >"1"  AND X4$ < >"2"  AND X4$ < >"3"  AND X4$ < >"4"  AND X4$ < >"5"  AND X4$ < >"6"  AND X4$ < >"7"  AND X4$ < >"8"  AND X4$ < >"9"  THEN 3000
  53. 302 X4 =  VAL(X4$)
  54. 304 Y4 = X4 *16 ^4:X3$ =  MID$ (ST$,5,1)
  55. 310  IF X3$ = "A"  THEN X3 = 10: GOTO 326
  56. 312  IF X3$ = "B"  THEN X3 = 11: GOTO 326
  57. 314  IF X3$ = "C"  THEN X3 = 12: GOTO 326
  58. 316  IF X3$ = "D"  THEN X3 = 13: GOTO 326
  59. 318  IF X3$ = "E"  THEN X3 = 14: GOTO 326
  60. 320  IF X3$ = "F"  THEN X3 = 15: GOTO 326
  61. 322  IF X3$ < >"0"  AND X3$ < >"1"  AND X3$ < >"2"  AND X3$ < >"3"  AND X3$ < >"4"  AND X3$ < >"5"  AND X3$ < >"6"  AND X3$ < >"7"  AND X3$ < >"8"  AND X3$ < >"9"  THEN 3000
  62. 324 X3 =  VAL(X3$)
  63. 326 Y3 = X3 *16 ^3:X2$ =  MID$ (ST$,6,1)
  64. 332  IF X2$ = "A"  THEN X2 = 10: GOTO 348
  65. 334  IF X2$ = "B"  THEN X2 = 11: GOTO 348
  66. 336  IF X2$ = "C"  THEN X2 = 12: GOTO 348
  67. 338  IF X2$ = "D"  THEN X2 = 13: GOTO 348
  68. 340  IF X2$ = "E"  THEN X2 = 14: GOTO 348
  69. 342  IF X2$ = "F"  THEN X2 = 15: GOTO 348
  70. 344  IF X2$ < >"0"  AND X2$ < >"1"  AND X2$ < >"2"  AND X2$ < >"3"  AND X2$ < >"4"  AND X2$ < >"5"  AND X2$ < >"6"  AND X2$ < >"7"  AND X2$ < >"8"  AND X2$ < >"9"  THEN 3000
  71. 346 X2 =  VAL(X2$)
  72. 348 Y2 = X2 *16 ^2:X1$ =  MID$ (ST$,7,1)
  73. 354  IF X1$ = "A"  THEN X1 = 10: GOTO 370
  74. 356  IF X1$ = "B"  THEN X1 = 11: GOTO 370
  75. 358  IF X1$ = "C"  THEN X1 = 12: GOTO 370
  76. 360  IF X1$ = "D"  THEN X1 = 13: GOTO 370
  77. 362  IF X1$ = "E"  THEN X1 = 14: GOTO 370
  78. 364  IF X1$ = "F"  THEN X1 = 15: GOTO 370
  79. 366  IF X1$ < >"0"  AND X1$ < >"1"  AND X1$ < >"2"  AND X1$ < >"3"  AND X1$ < >"4"  AND X1$ < >"5"  AND X1$ < >"6"  AND X1$ < >"7"  AND X1$ < >"8"  AND X1$ < >"9"  THEN 3000
  80. 368 X1 =  VAL(X1$)
  81. 370 Y1 = X1 *16 ^1:X0$ =  MID$ (ST$,8,1)
  82. 376  IF X0$ = "A"  THEN X0 = 10: GOTO 392
  83. 378  IF X0$ = "B"  THEN X0 = 11: GOTO 392
  84. 380  IF X0$ = "C"  THEN X0 = 12: GOTO 392
  85. 382  IF X0$ = "D"  THEN X0 = 13: GOTO 392
  86. 384  IF X0$ = "E"  THEN X0 = 14: GOTO 392
  87. 386  IF X0$ = "F"  THEN X0 = 15: GOTO 392
  88. 388  IF X0$ < >"0"  AND X0$ < >"1"  AND X0$ < >"2"  AND X0$ < >"3"  AND X0$ < >"4"  AND X0$ < >"5"  AND X0$ < >"6"  AND X0$ < >"7"  AND X0$ < >"8"  AND X0$ < >"9"  THEN 3000
  89. 390 X0 =  VAL(X0$)
  90. 392 Y0 = X0 *16 ^0:SUM = Y7 +Y6 +Y5 +Y4 +Y3 +Y2 +Y1 +Y0:AN$ =  STR$(SUM)
  91. 396  IF YS$ = "JPE"  THEN  RETURN 
  92. 398  GOTO 15000
  93. 400 J$ = "IN DECIMAL, IS IN HEXI":S$ = "187":O$ = "DECIMAL":P$ = "HEXI": GOSUB 10100
  94. 405  IF ST >4294967295  THEN 3100
  95. 406  IF ST <0  THEN 3000
  96. 407 V1 = ST:H = V1/16
  97. 408  IF  INT(V1) < >V1  THEN 3000
  98. 409  IF H <16 ^0  THEN DG = 1
  99. 411  IF H > = 16 ^0  AND H <16 ^1  THEN DG = 2
  100. 412  IF H > = 16 ^1  AND H <16 ^2  THEN DG = 3
  101. 414  IF H > = 16 ^2  AND H <16 ^3  THEN DG = 4
  102. 416  IF H > = 16 ^3  AND H <16 ^4  THEN DG = 5
  103. 418  IF H > = 16 ^4  AND H <16 ^5  THEN DG = 6
  104. 420  IF H > = 16 ^5  AND H <16 ^6  THEN DG = 7
  105. 421  IF H > = 16 ^6  AND H <16 ^7  THEN DG = 8
  106. 423  ON DG GOTO 425,439,456,482,496,520,544,568
  107. 425  IF V1 = 10  THEN X0$ = "A": GOTO 590
  108. 429  IF V1 = 11  THEN X0$ = "B": GOTO 590
  109. 431  IF V1 = 12  THEN X0$ = "C": GOTO 590
  110. 433  IF V1 = 13  THEN X0$ = "D": GOTO 590
  111. 435  IF V1 = 14  THEN X0$ = "E": GOTO 590
  112. 437  IF V1 = 15  THEN X0$ = "F": GOTO 590
  113. 438  IF V1 < = 9  THEN X0 = V1: GOTO 589
  114. 439 K =  INT(V1/16 ^1):V1 = V1 -(K *16 ^1)
  115. 444  IF K = 10  THEN X1$ = "A": GOTO 454
  116. 445  IF K = 11  THEN X1$ = "B": GOTO 454
  117. 446  IF K = 12  THEN X1$ = "C": GOTO 454
  118. 447  IF K = 13  THEN X1$ = "D": GOTO 454
  119. 448  IF K = 14  THEN X1$ = "E": GOTO 454
  120. 449  IF K = 15  THEN X1$ = "F": GOTO 454
  121. 450  IF K < = 9  THEN X1 = K
  122. 452 X1$ =  STR$(X1)
  123. 454  GOTO 425
  124. 456 K =  INT(V1/16 ^2):V1 = V1 -(K *16 ^2)
  125. 462  IF K = 10  THEN X2$ = "A": GOTO 480
  126. 464  IF K = 11  THEN X2$ = "B": GOTO 480
  127. 466  IF K = 12  THEN X2$ = "C": GOTO 480
  128. 468  IF K = 13  THEN X2$ = "D": GOTO 480
  129. 470  IF K = 14  THEN X2$ = "E": GOTO 480
  130. 472  IF K = 15  THEN X2$ = "F": GOTO 480
  131. 474  IF K < = 9  THEN X2 = K
  132. 476 X2$ =  STR$(X2)
  133. 480  GOTO 439
  134. 482 K =  INT(V1/16 ^3):V1 = V1 -(K *16 ^3)
  135. 486  IF K = 10  THEN X3$ = "A": GOTO 494
  136. 487  IF K = 11  THEN X3$ = "B": GOTO 494
  137. 488  IF K = 12  THEN X3$ = "C": GOTO 494
  138. 489  IF K = 13  THEN X3$ = "D": GOTO 494
  139. 490  IF K = 14  THEN X3$ = "E": GOTO 494
  140. 491  IF K = 15  THEN X3$ = "F": GOTO 494
  141. 492  IF K < = 9  THEN X3 = K
  142. 493 X3$ =  STR$(X3)
  143. 494  GOTO 456
  144. 496 K =  INT(V1/16 ^4):V1 = V1 -(K *16 ^4)
  145. 502  IF K = 10  THEN X4$ = "A": GOTO 518
  146. 504  IF K = 11  THEN X4$ = "B": GOTO 518
  147. 506  IF K = 12  THEN X4$ = "C": GOTO 518
  148. 508  IF K = 13  THEN X4$ = "D": GOTO 518
  149. 510  IF K = 14  THEN X4$ = "E": GOTO 518
  150. 512  IF K = 15  THEN X4$ = "F": GOTO 518
  151. 514  IF K < = 9  THEN X4 = K
  152. 516 X4$ =  STR$(X4)
  153. 518  GOTO 482
  154. 520 K =  INT(V1/16 ^5):V1 = V1 -(K *16 ^5)
  155. 526  IF K = 10  THEN X5$ = "A": GOTO 542
  156. 528  IF K = 11  THEN X5$ = "B": GOTO 542
  157. 530  IF K = 12  THEN X5$ = "C": GOTO 542
  158. 532  IF K = 13  THEN X5$ = "D": GOTO 542
  159. 534  IF K = 14  THEN X5$ = "E": GOTO 542
  160. 536  IF K = 15  THEN X5$ = "F": GOTO 542
  161. 538  IF K < = 9  THEN X5 = K
  162. 540 X5$ =  STR$(X5)
  163. 542  GOTO 496
  164. 544 K =  INT(V1/16 ^6):V1 = V1 -(K *16 ^6)
  165. 550  IF K = 10  THEN X6$ = "A": GOTO 566
  166. 552  IF K = 11  THEN X6$ = "B": GOTO 566
  167. 554  IF K = 12  THEN X6$ = "C": GOTO 566
  168. 556  IF K = 13  THEN X6$ = "D": GOTO 566
  169. 558  IF K = 14  THEN X6$ = "E": GOTO 566
  170. 560  IF K = 15  THEN X6$ = "F": GOTO 566
  171. 562  IF K < = 9  THEN X6 = K
  172. 564 X6$ =  STR$(X6)
  173. 566  GOTO 520
  174. 568 K =  INT(V1/16 ^7):V1 = V1 -(K *16 ^7)
  175. 572  IF K = 10  THEN X7$ = "A": GOTO 580
  176. 573  IF K = 11  THEN X7$ = "B": GOTO 580
  177. 574  IF K = 12  THEN X7$ = "C": GOTO 580
  178. 575  IF K = 13  THEN X7$ = "D": GOTO 580
  179. 576  IF K = 14  THEN X7$ = "E": GOTO 580
  180. 577  IF K = 15  THEN X7$ = "F": GOTO 580
  181. 578  IF K < = 9  THEN X7 = K
  182. 579 X7$ =  STR$(X7)
  183. 580  GOTO 544
  184. 589 X0$ =  STR$(X0)
  185. 590 ST$ =  STR$(ST)
  186. 596 AN$ = X7$ +X6$ +X5$ +X4$ +X3$ +X2$ +X1$ +X0$
  187. 597  ONERR  GOTO 2000: IF Y$ = "JPE"  THEN  RETURN 
  188. 598  GOTO 15000
  189. 600 J$ = "IN BINARY, IS IN DECIMAL":S$ = "00010110":O$ = "BINARY":P$ = "DECIMAL": GOSUB 10000
  190. 609  IF  LEN(ST$) >8  THEN 3100
  191. 610 X7$ =  MID$ (ST$,1,1)
  192. 611  IF X7$ < >"0"  AND X7$ < >"1"  THEN 3200
  193. 612  IF X7$ = "1"  THEN X7 = (2 ^7)
  194. 614  IF X7$ = "0"  THEN X7 = 0
  195. 616 X6$ =  MID$ (ST$,2,1)
  196. 620  IF X6$ < >"0"  AND X6$ < >"1"  THEN 3200
  197. 622  IF X6$ = "1"  THEN X6 = (2 ^6)
  198. 624  IF X6$ = "0"  THEN X6 = 0
  199. 626 X5$ =  MID$ (ST$,3,1)
  200. 630  IF X5$ < >"0"  AND X5$ < >"1"  THEN 3200
  201. 632  IF X5$ = "1"  THEN X5 = (2 ^5)
  202. 634  IF X5$ = "0"  THEN X5 = 0
  203. 636 X4$ =  MID$ (ST$,4,1)
  204. 640  IF X4$ < >"0"  AND X4$ < >"1"  THEN 3200
  205. 642  IF X4$ = "1"  THEN X4 = (2 ^4)
  206. 644  IF X4$ = "0"  THEN X4 = 0
  207. 646 X3$ =  MID$ (ST$,5,1)
  208. 650  IF X3$ < >"0"  AND X3$ < >"1"  THEN 3200
  209. 652  IF X3$ = "1"  THEN X3 = (2 ^3)
  210. 654  IF X3$ = "0"  THEN X3 = 0
  211. 656 X2$ =  MID$ (ST$,6,1)
  212. 660  IF X2$ < >"0"  AND X2$ < >"1"  THEN 3200
  213. 662  IF X2$ = "1"  THEN X2 = (2 ^2)
  214. 664  IF X2$ = "0"  THEN X2 = 0
  215. 666 X1$ =  MID$ (ST$,7,1)
  216. 670  IF X1$ < >"0"  AND X1$ < >"1"  THEN 3200
  217. 672  IF X1$ = "1"  THEN X1 = (2 ^1)
  218. 674  IF X1$ = "0"  THEN X1 = 0
  219. 676 X0$ =  MID$ (ST$,8,1)
  220. 680  IF X0$ < >"0"  AND X0$ < >"1"  THEN 3200
  221. 682  IF X0$ = "1"  THEN X0 = (2 ^0)
  222. 684  IF X0$ = "0"  THEN X0 = 0
  223. 686 SUM = X7 +X6 +X5 +X4 +X3 +X2 +X1 +X0:AN$ =  STR$(SUM)
  224. 698  IF YS$ = "JPE"  THEN  RETURN 
  225. 699  GOTO 15000
  226. 800 J$ = "IN DECIMAL, IS IN BINARY":S$ = "65,535: IS THE HIGHEST POSSIBLE":O$ = "DECIMAL":P$ = "BINARY": GOSUB 10100
  227. 805  IF ST >65535  THEN 3100
  228. 806  IF ST <0  THEN 3000
  229. 807 V1 = ST:H = V1/2
  230. 808  IF  INT(V1) < >V1  THEN 3000
  231. 809  IF H <2 ^0  THEN DG = 1
  232. 810  IF H > = 2 ^0  AND H <2 ^1  THEN DG = 2
  233. 811  IF H > = 2 ^1  AND H <2 ^2  THEN DG = 3
  234. 812  IF H > = 2 ^2  AND H <2 ^3  THEN DG = 4
  235. 813  IF H > = 2 ^3  AND H <2 ^4  THEN DG = 5
  236. 814  IF H > = 2 ^4  AND H <2 ^5  THEN DG = 6
  237. 815  IF H > = 2 ^5  AND H <2 ^6  THEN DG = 7
  238. 816  IF H > = 2 ^6  AND H <2 ^7  THEN DG = 8
  239. 817  IF H > = 2 ^7  AND H <2 ^8  THEN DG = 9
  240. 818  IF H > = 2 ^8  AND H <2 ^9  THEN DG = 10
  241. 819  IF H > = 2 ^9  AND H <2 ^10  THEN DG = 11
  242. 820  IF H > = 2 ^10  AND H <2 ^11  THEN DG = 12
  243. 821  IF H > = 2 ^11  AND H <2 ^12  THEN DG = 13
  244. 822  IF H > = 2 ^12  AND H <2 ^13  THEN DG = 14
  245. 823  IF H > = 2 ^13  AND H <2 ^14  THEN DG = 15
  246. 824  IF H > = 2 ^14  AND H <2 ^15  THEN DG = 16
  247. 829  ON DG GOTO 831,839,849,859,869,879,889,899,909,919,929,939,949,959,969,979
  248. 831 X0 = V1: GOTO 990
  249. 839 K =  INT(V1/2 ^1):V1 = V1 -(K *2 ^1):X1 = K: GOTO 831
  250. 849 K =  INT(V1/2 ^2):V1 = V1 -(K *2 ^2):X2 = K: GOTO 839
  251. 859 K =  INT(V1/2 ^3):V1 = V1 -(K *2 ^3):X3 = K: GOTO 849
  252. 869 K =  INT(V1/2 ^4):V1 = V1 -(K *2 ^4):X4 = K: GOTO 859
  253. 879 K =  INT(V1/2 ^5):V1 = V1 -(K *2 ^5):X5 = K: GOTO 869
  254. 889 K =  INT(V1/2 ^6):V1 = V1 -(K *2 ^6):X6 = K: GOTO 879
  255. 899 K =  INT(V1/2 ^7):V1 = V1 -(K *2 ^7):X7 = K: GOTO 889
  256. 909 K =  INT(V1/2 ^8):V1 = V1 -(K *2 ^8):X8 = K: GOTO 899
  257. 919 K =  INT(V1/2 ^9):V1 = V1 -(K *2 ^9):X9 = K: GOTO 909
  258. 929 K =  INT(V1/2 ^10):V1 = V1 -(K *2 ^10):XA = K: GOTO 919
  259. 939 K =  INT(V1/2 ^11):V1 = V1 -(K *2 ^11):XB = K: GOTO 929
  260. 949 K =  INT(V1/2 ^12):V1 = V1 -(K *2 ^12):XC = K: GOTO 939
  261. 959 K =  INT(V1/2 ^13):V1 = V1 -(K *2 ^13):XD = K: GOTO 949
  262. 969 K =  INT(V1/2 ^14):V1 = V1 -(K *2 ^14):XE = K: GOTO 959
  263. 979 K =  INT(V1/2 ^15):V1 = V1 -(K *2 ^15):XF = K: GOTO 969
  264. 990 X0$ =  STR$(X0):X1$ =  STR$(X1):X2$ =  STR$(X2):X3$ =  STR$(X3):X4$ =  STR$(X4):X5$ =  STR$(X5):X6$ =  STR$(X6):X7$ =  STR$(X7):X8$ =  STR$(X8):X9$ =  STR$(X9)
  265. 992 XA$ =  STR$(XA):XB$ =  STR$(XB):XC$ =  STR$(XC):XD$ =  STR$(XD):XE$ =  STR$(XE):XF$ =  STR$(XF):
  266. 995 ST$ =  STR$(ST):AN$ = XF$ +XE$ +XD$ +XC$ +XB$ +XA$ +X9$ +X8$ +X7$ +X6$ +X5$ +X4$ +X3$ +X2$ +X1$ +X0$
  267. 997  IF YS$ = "JPE"  THEN  RETURN 
  268. 998  GOTO 15000
  269. 1000 J$ = "HEXI, IN BINARY IS":S$ = "0000FFFF:IS THE HIGHEST POSSIBLE":O$ = "HEXI":P$ = "BINARY": GOSUB 10000
  270. 1008 IL$ = ST$:YS$ = "JPE"
  271. 1009  IF  LEN(ST$) >8  THEN 3100
  272. 1011  GOSUB 210:ST =  VAL(AN$): GOSUB 805:ST$ = IL$: GOTO 15000
  273. 1200 J$ = "BINARY, IS IN HEXI":S$ = "10101100":O$ = "BINARY":P$ = "HEXI": GOSUB 10000
  274. 1208 IL$ = ST$:YS$ = "JPE"
  275. 1209  IF  LEN(ST$) >8  THEN 3100
  276. 1211  GOSUB 610:ST =  VAL(AN$):X7$ = "":X6$ = "":X5$ = "":X4$ = "":X3$ = "":X2$ = "":X1$ = "":X0$ = "": GOSUB 405:ST$ = IL$: GOTO 15000
  277. 1400  HOME : PRINT : PRINT : PRINT "TO QUIT THE BASE CONVERTER": PRINT "SIMPLY BOOT YOUR NEXT DISK."
  278. 1420  PRINT : GOTO 5090
  279. 1500  VTAB 21: PRINT " WOULD YOU LIKE TO DO THIS TYPE OF": PRINT "CONVERSION AGAIN? (Y/N) ";
  280. 1507  SPEED= 255: GET YN$
  281. 1508  IF YN$ < >"Y"  AND YN$ < >"N"  THEN 1507
  282. 1509  IF YN$ = "N"  THEN 10
  283. 1510 XF$ = "":XE$ = "":XD$ = "":XC$ = "":XB$ = "":XA$ = "":X9$ = "":X8$ = "":X7$ = "":X6$ = "":X5$ = "":X4$ = "":X3$ = "":X2$ = "":X1$ = "":X0$ = ""
  284. 1511 XF = 0:XE = 0:XD = 0:XC = 0:XB = 0:XA = 0:X9 = 0:X8 = 0:X7 = 0:X6 = 0:X5 = 0:X4 = 0:X3 = 0:X2 = 0:X1 = 0:X0 = 0
  285. 1512  GOTO 150
  286. 2000  REM  Y$="JPE" was not cleared<CTRL-J>
  287. 2010  LET Y$ = "": RESUME 
  288. 3000  PRINT : PRINT "SORRY THAT DATA IS UNACCEPTABLE"
  289. 3020  PRINT : PRINT "PLEASE TRY AGAIN": PRINT B$: GOTO 1500
  290. 3100  PRINT : PRINT "SORRY THAT NUMBER IS TO LARGE"
  291. 3115  IF S$ = "65,535: IS THE HIGHEST POSSIBLE"  THEN  PRINT : PRINT "FOR SIXTEEN DIGIT BINARY NOTATION."
  292. 3120  GOTO 3020
  293. 3200  PRINT : PRINT "SORRY, THAT IS NOT A BINARY NUMBER.": GOTO 3020
  294. 4000  HOME : PRINT "PLEASE CONTACT:": VTAB 4: HTAB 19: PRINT "A.1 SOFTWARE, INC.": VTAB 6: HTAB 19: PRINT "262 SAN FERNANDO DR."
  295. 4005  VTAB 8: HTAB 19: PRINT "PASO ROBLES, CA.": VTAB 10: HTAB 34: PRINT "93446": VTAB 12: HTAB 19: PRINT "PH. (805) 239-3408": SPEED= 255: GOTO 5090
  296. 5000  SPEED= 255: HOME : TEXT : HOME :B$ =  CHR$(7)
  297. 5020  PRINT : PRINT "HELLO!": PRINT : PRINT "WELCOME TO THE A.1 BASE CONVERTER.": PRINT : PRINT " THIS PROGRAM WILL CHANGE FROM ONE BASE NUMBER SYSTEM TO ANOTHER. YOUR KNOWLEDGE OF THESE SYSTEMS IS NOT REQUIRED."
  298. 5030  PRINT : PRINT " CONVERSIONS #1, 3, 5, AND 6 ": PRINT "REQUIRE AN EIGHT DIGIT INPUT EVEN IF": PRINT "THE FIRST SEVEN DIGITS ARE ZEROES."
  299. 5040  PRINT : PRINT " BINARY NUMBERS CONTAIN ONLY ZEROES &": PRINT "ONES. HEXI CONTAINS A,B,C,D,E, AND F.": PRINT "IN ADDITION TO THE STANDARD 0-9 SET."
  300. 5045  PRINT " USE ONLY WHOLE NUMBERS PLEASE.": PRINT : PRINT "LOCK CAPS LOCK NOW......";: INVERSE : PRINT "PLEASE": NORMAL 
  301. 5047  PRINT : PRINT "PRESS j TO CONTINUE!";
  302. 5049  GET QA$
  303. 5050  IF QA$ < >"J"  THEN  PRINT B$;: GOTO 5049
  304. 5051  HOME : PRINT : INVERSE : PRINT " PLEASE NOTE THE FOLLOWING DATA LIMITS": PRINT "OF THE BASE CONVERTER.": PRINT : NORMAL : PRINT " HEXI NUMBERS TO FFFFFFFF MAY BE USED,": PRINT "HOWEVER, THOSE ABOVE 3B9ACA00 ARE": PRINT "APPROXIMATE.
  305. 5053  PRINT : PRINT " THE LARGEST DECIMAL NUMBER THAT CAN BE": PRINT "CONVERTED TO HEXI IS 4,294,967,295.": PRINT : PRINT " THE LARGEST DECIMAL NUMBER THAT CAN": PRINT "BE CONVERTED TO BINARY IS 65,535."
  306. 5055  PRINT : PRINT " PROGRAM WILL NOT ACCEPT COMMAS,": PRINT "SAVE THEM FOR PAPERWORK,": PRINT " DISPLAY-SCREENS, ETC,"
  307. 5070  PRINT 
  308. 5075  PRINT "DO NOT USE THE LETTER O INPLACE OF 0'S"
  309. 5090  VTAB 23: PRINT "PRESS ANY KEY TO SEE MAIN MENU.";
  310. 5095  GET QA$: GOTO 10
  311. 7000  POKE 1010,0: POKE 1011,190: POKE 1012,27
  312. 7007  PRINT : PRINT 
  313. 7777  PRINT "HELLO MASTER!": PRINT : PRINT : PRINT "PRESS CONTROL-RESET!": END 
  314. 8000  NOTRACE : PRINT  CHR$(4);"PREFIX/RAM"
  315. 8020  PRINT  CHR$(4);"SAVE A1"
  316. 8030  PRINT  CHR$(17)
  317. 8040  REM   RUN A1 
  318. 8050  RETURN 
  319. 8100  REM    <CTRL-J>For Creation of Basic Number System Tutor.<CTRL-J><CTRL-J>
  320. 8140  PRINT  CHR$(4);"pr#3"
  321. 8150  PRINT : PRINT  CHR$(18): HOME : PRINT "   There are Probably as many different numbering systems, as there are numbers. ";: PRINT "Our Text Will Only Focus on Three: 1) Decimal  2) Hexidecimal  3) Binary  "
  322. 8160  PRINT : PRINT "     Our ordinary everyday numbering system is DECIMAL.";: PRINT "  Probably because we    have ten Fingers. (well eight fingers and two thumbs.)";
  323. 8170  PRINT "  Our Decimal Symbols are 0,1,2,3,4,5,6,7,8,9";: PRINT "  When we count, we go through all symbols before adding an  additional digit and resetting previous digit.";
  324. 8180  PRINT "  For instance after 9 comes 10.  The ones column is reset, and the tens column is added with the first symbol    holding the column open.";
  325. 8185  PRINT "  (";: FOR X = 0 TO 9: PRINT X", ";: NEXT X: PRINT " & then 10)";
  326. 8190  PRINT : PRINT : PRINT "     The need was soon seen for a shortened version of our system for computer  applications.";: PRINT "  The goal you see, is to represent the higher numbers 0-255:"
  327. 8195  PRINT "While using only two digits.(ie. FF Hexi.)";
  328. 8200  PRINT "  This shortened numbering system is  called HEXIDECIMAL.";
  329. 8210  PRINT "  Hexi, as it is often referred to, has sixteen symbols."
  330. 8220  PRINT "They are: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F."
  331. 8230  PRINT "The HEXI number 10' is not one set of ten units as in decimal, But one set of 16 units. Thus the HEXI number B is the eleventh digit represented.";
  332. 8235  GOSUB 8240: GOTO 8250
  333. 8240  PRINT : VTAB 22: PRINT "Press any Key for more.";: GET K$: RETURN 
  334. 8250  HOME : PRINT : PRINT  SPC( 5)"The Hexi equivalent of 100 is six times sixteen Plus Four; or 64."
  335. 8260  PRINT "The highest two digit number in hexi is FF or fifteen times sixteen plus fifteen, or 255.";
  336. 8270  PRINT "  So you see we have 156 more slots per the first two digits than with DECIMAL.": PRINT 
  337. 8280  PRINT  SPC( 4)"Now BINARY is Base Two so the only numerical symbols are zero and one.  The"
  338. 8290  PRINT " switch is either on or off.  Zero is off, one is on.";
  339. 8300  PRINT " This is the easiest system for the computer and the hardest for humans to understand.";
  340. 8310  PRINT " Obviously the digits are eaten up rather quickly.";
  341. 8320  PRINT "  The first digit (from the right) is zero when off as are all digits, and one when on. (two to the zero power.)  The second digit is (Two to the First power) when on (1).";
  342. 8330  PRINT "  The third is (two to the second) four....eight....sixteen....thirty-two...etc.  So Numbers are simply combinations of these values.";
  343. 8340  PRINT "  Thus 00001010 is, Two to the first plus two to the third or"
  344. 8350  PRINT " 8+2=10 in DECIMAL.";
  345. 8360  PRINT "  The largest number an eight digit binary number can": PRINT "represent is 255 (Two to the eighth minus one).";
  346. 8370  PRINT "  The BINARY number 00101101 is  converted to BASE-TEN as follows:"
  347. 8380  PRINT "Two to the zero power, Plus two to the second, Plus two to the third, Plus two  to the fifth.  Or 1+4+8+32=45 BASE-TEN.";
  348. 8390  GOSUB 8240
  349. 8400  HOME : PRINT : PRINT "  Thus to convert 100 BASE-TEN to binary we factor to 64+32+4=100."
  350. 8410  PRINT "Or: 01100100 BASE-TWO.";
  351. 8420  PRINT "  This system is slow and consumes space but must be": PRINT "understood if a grasp of computers is desired.";
  352. 8430  PRINT "  The count then is 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111.": PRINT "1111 is then 1+2+4+8=15.";
  353. 8440  PRINT "  Remember only zeros and ones are allowed in BINARY."
  354. 8450  PRINT : PRINT "There is also a system with base eight called octal which uses the first eight": PRINT "symbols before resetting. i.e. 0, 1, 2, 3, 4, 5, 6, 7 ";: PRINT " Ten BASE-EIGHT is then": PRINT "one set of eight or 8.";
  355. 8460  PRINT "  We will not persue this system at this time as it is": PRINT "fading out in popularity."
  356. 8470  PRINT : PRINT : PRINT "This ends our tutorial.  Return now to the main program and experiment!": PRINT : PRINT "That is the best way to learn."
  357. 8999  GOSUB 8240: PRINT  CHR$(17): GOTO 20
  358. 9000  PRINT B$:EC =  PEEK(222)
  359. 9015  IF EC = 69  THEN 9070
  360. 9017  IF EC = 163  THEN 3000
  361. 9020  IF EC < >16  THEN 9050
  362. 9025  SPEED= 100: VTAB 22: PRINT "NUMBERS ONLY PLEASE!": SPEED= 255: NORMAL : GOTO 100
  363. 9050  IF EC < >254  AND EC < >255  THEN  PRINT : PRINT "UNANTICIPATED ERROR.": PRINT "CODE NUMBER:"EC: PRINT : PRINT "ONE MOMENT PLEASE": PRINT B$: PRINT B$: GOTO 1500
  364. 9052  NORMAL 
  365. 9053  IF EC = 254  THEN 9060
  366. 9054  PRINT "DO YOU WISH TO INTERUPT ": PRINT "THIS PROGRAM? (Y/N) ";
  367. 9056  GET YN$
  368. 9057  IF YN$ < >"Y"  AND YN$ < >"N"  THEN  PRINT : PRINT "LOCK CAPS": GOTO 9056
  369. 9058  IF YN$ = "N"  THEN 150
  370. 9059  IF YN$ = "Y"  THEN 4000
  371. 9060  PRINT : PRINT "THAT IS NOT A REAL NUMBER.": PRINT "PLEASE START OVER.": GOTO 1500
  372. 9070  PRINT : PRINT "NUMBER TO LARGE PLEASE ": PRINT "START OVER."
  373. 9075  PRINT B$: GOTO 1500
  374. 10000  HOME : PRINT : PRINT "ENTER "O$" NUMBER TO BE": PRINT "CONVERTED TO "P$".": PRINT "ENTER AN EIGHT DIGIT EXPRESSION PLEASE."
  375. 10010  PRINT : PRINT "SAMPLE:"S$: PRINT "BE SURE CAPS LOCK IS DOWN!": PRINT "";
  376. 10030  INPUT ST$
  377. 10040  PRINT : PRINT "THANK YOU!": PRINT : RETURN 
  378. 10100  HOME : PRINT : PRINT "ENTER "O$" NUMBER TO BE": PRINT "CONVERTED TO "P$".": PRINT "SAMPLE:"S$: PRINT "";
  379. 10130  INPUT ST: GOSUB 10040: RETURN 
  380. 15000  PRINT : PRINT ST$: PRINT : PRINT J$: PRINT : PRINT AN$: GOTO 1500
  381. 19000  REM     copyright 1985  John P. Edwards                                       Revised July-26-87   <CTRL-J>      vers. mclx17C.5  <CTRL-J>
  382. 19001  REM   262 San Fernando Dr.
  383. 19010  REM   Paso Robles, CA  93446
  384. 19100  REM   <CTRL-J>Ph. 805 239-3408